package actions;

import dao.InexistantEntityException;
import entities.Categorie;
import entities.Produit;
import gestion.GestionnaireRemote;
import java.util.List;


/**
 * Permet de préparer l'interface de modification du produit. Il faut récupérer la liste des catégories pour que l'utilisateur puisse en choisir une parmi toutes.
 * @author Alex
 */
public class ModifierProduitForm extends MiagetestAction {

    private String nom;

    private Double prix;

    private Integer idProduit;

    private Integer idCategorie;

    private List<Categorie> categories;

    public String getNom() {
        return nom;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public Double getPrix() {
        return prix;
    }

    public void setPrix(Double prix) {
        this.prix = prix;
    }

    public Integer getIdCategorie() {
        return idCategorie;
    }

    public void setIdCategorie(Integer idCategorie) {
        this.idCategorie = idCategorie;
    }

    public Integer getIdProduit() {
        return idProduit;
    }

    public void setIdProduit(Integer idProduit) {
        this.idProduit = idProduit;
    }

    public List<Categorie> getCategories() {
        return categories;
    }

    @Override
    public String execute() {

        GestionnaireRemote gestionnaire = lookupGestionnaireRemote();

        try
        {
            Produit produit = (Produit) gestionnaire.get(Produit.class, idProduit);
            nom = produit.getNom();
            prix = produit.getPrix();
            idCategorie = produit.getCategorie().getId();
            categories = (List<Categorie>) gestionnaire.getAll(Categorie.class);
            setPage("modifierProduitForm");
        }
        catch(InexistantEntityException ex)
        {
            setMessage(ex.toString());
        }        

        return SUCCESS;
    }

}
